package tenth.泛型接口.泛型接口的两种实现方式;

// 定义子类方式 1--在子类的定义上声明泛型类型
interface Info<T> {
    public T getVar();
}

class InfoImpl<T> implements Info<T> {
    private T var;

    @Override
    public T getVar() {
        return var;
    }

    public void setVar(T var) {
        this.var = var;
    }

    public InfoImpl(T var) {
        this.var = var;
    }
}

public class 定义子类方式1 {
    public static void main(String[] args) {
        // 使用泛型接口的子类
        Info<String> info = null;   //定义接口对象
        info = new InfoImpl<>("张三");    //通过子类实例化此对象
        System.out.println("内容：" + info.getVar());
    }
}
/**
 * 上面的程序不难理解 虽然指定了泛型 但是依然可以使用对象的多态性通过一个子类为接口实例化
 */